package cn.zn.modules.budget.inter;

import cn.zn.modules.budget.inter.vo.BudgetFreezsSaveRspVO;
import cn.zn.modules.budget.inter.vo.BudgetFreezsVO;
import cn.zn.modules.budget.inter.vo.BudgetSGForFreezsVO;

import java.util.List;

public interface BudgetFreezsInter {

    /**
     * 保存预算冻结
     *
     * @param budgetFreezsVO
     */
    BudgetFreezsSaveRspVO saveBudgetFreezs(BudgetFreezsVO budgetFreezsVO);

    /**
     * 删除预算冻结
     *
     * @param freezsIds
     */
    void deleteBudgetFreezs(List<String> freezsIds);

    /**
     * 转换冻结<br/>
     * 作废掉，新建相同的信息，修改必要信息
     *
     * @param freezsId
     * @param processCode
     * @param remark
     * @return  新冻结ID
     */
    String converBudgetFreezs(String freezsId, String processCode, String remark);

    /**
     * 查询冻结预算对应的双高项目
     *
     * @param freezsIds
     * @return
     */
    List<BudgetSGForFreezsVO> findSGByFreeze(List<String> freezsIds);

    /**
     * 批量保存双高
     *
     * @param budgetSGForFreezsVOS
     */
    void saveSGBatch(List<BudgetSGForFreezsVO> budgetSGForFreezsVOS);
}
